package modele;

import java.awt.Color;
import java.io.Serializable;

public abstract class FormeGeometrique implements Serializable {

	protected String nom;
	protected Color couleur;


	//constructeurs secondaires
	abstract FormeGeometrique createClone();
	abstract FormeGeometrique createSymetrieO();

	//getters
	public String getNom(){return nom;}
	public Color getCouleur() {return couleur;}
	
	
	//setters
	public void setNom(String nom) {this.nom = nom;}
	public void setCouleur(Color couleur) {this.couleur = couleur;}
	
	
	//observateurs
	abstract boolean equals(FormeGeometrique o);
	abstract double perimetre();
	abstract double surface();
	
	//Mutateurs
	
	abstract void symetrieO();
	abstract void symetrieX();
	abstract void symetrieY();
	abstract void projectionX();
	abstract void projectionY();

//window pref java editor syntax coloring	

}